home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Internet Surfer: Getting Started
/
Internet Surfer - Getting Started (Wayzata Technology)(7231)(1995).bin
/
pc
/
mac
/
bonus
/
peter_le
/
talk_sou
/
my_libra
/
mytracki.uni
< prev
next >
Wrap
Text File
|
1992-04-20
|
1KB
|
66 lines
unit MyTrackIdle;
{ This program was written by Peter N Lewis, Mar 1992 in THINK Pascal 4.0.1 }
interface
function IdleSince: longInt; {TickCount at last no idle time}
procedure InitTrackIdle;
procedure FinishTrackIdle;
procedure TrackIdle;
implementation
type
keyLongMap = array[1..4] of longInt;
var
lastmoved: longInt; { Last time the cursor was moved, used for idle timing }
lastpos: point;
lastkeymap: keyLongMap;
function IdleSince: longInt; {TickCount at last no idle time}
begin
IdleSince := lastmoved;
end;
procedure MyGetMouse (var pt: point); { Handles not having quickdraw around }
var
event: eventRecord;
dummy: boolean;
begin
dummy := OSEventAvail(0, event);
pt := event.where;
end;
procedure TrackIdle;
var
pt: point;
km: keyLongMap;
begin
pt := lastpos;
MyGetMouse(lastpos);
if (abs(pt.h - lastpos.h) > 2) or (abs(pt.v - lastpos.v) > 2) then begin
lastmoved := TickCount;
end
else begin
GetKeys(keyMap(km));
if (km[1] <> lastkeymap[1]) or (km[2] <> lastkeymap[2]) or (km[3] <> lastkeymap[3]) or (km[4] <> lastkeymap[4]) then begin
lastmoved := TickCount;
lastkeymap := km;
end;
end;
end;
procedure InitTrackIdle;
begin
MyGetMouse(lastpos);
lastmoved := TickCount;
GetKeys(keyMap(lastkeymap));
end;
procedure FinishTrackIdle;
begin
end;
end.